home *** CD-ROM | disk | FTP | other *** search
Emacs Compiled Lisp | 1998-05-21 | 6.1 KB |
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: Emacs Compiled Lisp
(other/emacsCompiledLisp).
This format is not currently supported by dexvert.
Confidence | Program | Detection | Match Type | Support
|
---|
1%
| dexvert
| Emacs Compiled Lisp (other/emacsCompiledLisp)
| magic
| Unsupported |
100%
| file
| Emacs/XEmacs v20 byte-compiled Lisp data
| default
| |
99%
| file
| data
| default
| |
100%
| TrID
| Emacs/XEmacs byte-compiled Lisp (generic)
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 3b 45 4c 43 14 00 00 00 | 0a 3b 3b 3b 20 63 6f 6d |;ELC....|.;;; com|
|00000010| 70 69 6c 65 64 20 62 79 | 20 6a 75 73 74 69 6e 62 |piled by| justinb|
|00000020| 40 65 62 6f 6e 79 2e 63 | 72 61 79 2e 63 6f 6d 20 |@ebony.c|ray.com |
|00000030| 6f 6e 20 4d 6f 6e 20 4d | 61 72 20 20 39 20 31 32 |on Mon M|ar 9 12|
|00000040| 3a 35 33 3a 34 37 20 31 | 39 39 38 0a 3b 3b 3b 20 |:53:47 1|998.;;; |
|00000050| 66 72 6f 6d 20 66 69 6c | 65 20 2f 68 6f 6d 65 2f |from fil|e /home/|
|00000060| 61 73 70 65 6e 30 37 2f | 6a 75 73 74 69 6e 62 2f |aspen07/|justinb/|
|00000070| 72 6f 6f 74 73 2f 66 72 | 65 65 77 61 72 65 2f 78 |roots/fr|eeware/x|
|00000080| 65 6d 61 63 73 2f 32 30 | 2e 33 2f 78 65 6d 61 63 |emacs/20|.3/xemac|
|00000090| 73 2d 32 30 2e 33 2f 6c | 69 73 70 2f 70 63 6c 2d |s-20.3/l|isp/pcl-|
|000000a0| 63 76 73 2f 64 6c 6c 2d | 64 65 62 75 67 2e 65 6c |cvs/dll-|debug.el|
|000000b0| 0a 3b 3b 3b 20 65 6d 61 | 63 73 20 76 65 72 73 69 |.;;; ema|cs versi|
|000000c0| 6f 6e 20 32 30 2e 34 20 | 22 45 6d 65 72 61 6c 64 |on 20.4 |"Emerald|
|000000d0| 22 20 58 45 6d 61 63 73 | 20 20 4c 75 63 69 64 2e |" XEmacs| Lucid.|
|000000e0| 0a 3b 3b 3b 20 62 79 74 | 65 63 6f 6d 70 20 76 65 |.;;; byt|ecomp ve|
|000000f0| 72 73 69 6f 6e 20 32 2e | 32 35 20 58 45 6d 61 63 |rsion 2.|25 XEmac|
|00000100| 73 3b 20 32 32 2d 4d 61 | 72 2d 39 36 2e 0a 3b 3b |s; 22-Ma|r-96..;;|
|00000110| 3b 20 6f 70 74 69 6d 69 | 7a 61 74 69 6f 6e 20 69 |; optimi|zation i|
|00000120| 73 20 6f 6e 2e 0a 3b 3b | 3b 20 74 68 69 73 20 66 |s on..;;|; this f|
|00000130| 69 6c 65 20 75 73 65 73 | 20 6f 70 63 6f 64 65 73 |ile uses| opcodes|
|00000140| 20 77 68 69 63 68 20 64 | 6f 20 6e 6f 74 20 65 78 | which d|o not ex|
|00000150| 69 73 74 20 69 6e 20 45 | 6d 61 63 73 20 31 39 2e |ist in E|macs 19.|
|00000160| 0a 0a 28 69 66 20 28 61 | 6e 64 20 28 62 6f 75 6e |..(if (a|nd (boun|
|00000170| 64 70 20 27 65 6d 61 63 | 73 2d 76 65 72 73 69 6f |dp 'emac|s-versio|
|00000180| 6e 29 0a 09 20 28 6f 72 | 20 28 61 6e 64 20 28 62 |n).. (or| (and (b|
|00000190| 6f 75 6e 64 70 20 27 65 | 70 6f 63 68 3a 3a 76 65 |oundp 'e|poch::ve|
|000001a0| 72 73 69 6f 6e 29 20 65 | 70 6f 63 68 3a 3a 76 65 |rsion) e|poch::ve|
|000001b0| 72 73 69 6f 6e 29 0a 09 | 20 20 20 20 20 28 73 74 |rsion)..| (st|
|000001c0| 72 69 6e 67 2d 6c 65 73 | 73 70 20 65 6d 61 63 73 |ring-les|sp emacs|
|000001d0| 2d 76 65 72 73 69 6f 6e | 20 22 32 30 22 29 29 29 |-version| "20")))|
|000001e0| 0a 20 20 20 20 28 65 72 | 72 6f 72 20 22 60 64 6c |. (er|ror "`dl|
|000001f0| 6c 2d 64 65 62 75 67 2e | 65 6c 27 20 77 61 73 20 |l-debug.|el' was |
|00000200| 63 6f 6d 70 69 6c 65 64 | 20 66 6f 72 20 45 6d 61 |compiled| for Ema|
|00000210| 63 73 20 32 30 22 29 29 | 0a 0a 28 6f 72 20 28 62 |cs 20"))|..(or (b|
|00000220| 6f 75 6e 64 70 20 27 63 | 75 72 72 65 6e 74 2d 6c |oundp 'c|urrent-l|
|00000230| 6f 61 64 2d 6c 69 73 74 | 29 20 28 73 65 74 71 20 |oad-list|) (setq |
|00000240| 63 75 72 72 65 6e 74 2d | 6c 6f 61 64 2d 6c 69 73 |current-|load-lis|
|00000250| 74 20 6e 69 6c 29 29 0a | 0a 0a 28 70 72 6f 76 69 |t nil)).|..(provi|
|00000260| 64 65 20 27 64 6c 6c 29 | 0a 28 64 65 66 61 6c 69 |de 'dll)|.(defali|
|00000270| 61 73 20 27 64 6c 6c 2d | 67 65 74 2d 64 75 6d 6d |as 'dll-|get-dumm|
|00000280| 79 2d 6e 6f 64 65 20 23 | 5b 28 64 6c 6c 29 20 22 |y-node #|[(dll) "|
|00000290| 08 87 22 20 5b 64 6c 6c | 5d 20 31 5d 29 0a 28 64 |.." [dll|] 1]).(d|
|000002a0| 65 66 61 6c 69 61 73 20 | 27 64 6c 6c 2d 6c 69 73 |efalias |'dll-lis|
|000002b0| 74 2d 6e 6f 64 65 73 20 | 23 5b 28 64 6c 6c 29 20 |t-nodes |#[(dll) |
|000002c0| 22 08 41 87 22 20 5b 64 | 6c 6c 5d 20 31 5d 29 0a |".A." [d|ll] 1]).|
|000002d0| 28 64 65 66 61 6c 69 61 | 73 20 27 64 6c 6c 2d 73 |(defalia|s 'dll-s|
|000002e0| 65 74 2d 66 72 6f 6d 2d | 6e 6f 64 65 2d 6c 69 73 |et-from-|node-lis|
|000002f0| 74 20 23 5b 28 64 6c 6c | 20 6c 69 73 74 29 20 22 |t #[(dll| list) "|
|00000300| 08 09 a1 87 22 20 5b 64 | 6c 6c 20 6c 69 73 74 5d |...." [d|ll list]|
|00000310| 20 32 5d 29 0a 28 64 65 | 66 61 6c 69 61 73 20 27 | 2]).(de|falias '|
|00000320| 64 6c 6c 2d 67 65 74 2d | 6e 6f 64 65 2d 62 65 66 |dll-get-|node-bef|
|00000330| 6f 72 65 20 23 5b 28 64 | 6c 6c 20 6e 6f 64 65 29 |ore #[(d|ll node)|
|00000340| 20 22 08 ab 8c 08 41 09 | 61 ac 86 08 41 89 10 ac | "....A.|a...A...|
|00000350| 74 08 ac 84 c2 c3 21 88 | 08 87 22 20 5b 64 6c 6c |t.....!.|.." [dll|
|00000360| 20 6e 6f 64 65 20 65 72 | 72 6f 72 20 22 4e 6f 64 | node er|ror "Nod|
|00000370| 65 20 6e 6f 74 20 6f 6e | 20 6c 69 73 74 22 5d 20 |e not on| list"] |
|00000380| 33 5d 29 0a 28 64 65 66 | 61 6c 69 61 73 20 27 64 |3]).(def|alias 'd|
|00000390| 6c 6c 2d 69 6e 73 65 72 | 74 2d 61 66 74 65 72 20 |ll-inser|t-after |
|000003a0| 27 28 6d 61 63 72 6f 20 | 2e 20 23 5b 28 6e 6f 64 |'(macro |. #[(nod|
|000003b0| 65 20 65 6c 65 6d 65 6e | 74 29 20 22 c0 c1 21 c0 |e elemen|t) "..!.|
|000003c0| c2 21 1b 1c c5 0c 0e 06 | 44 0b 0e 07 44 44 c8 0c |.!......|D...DD..|
|000003d0| c9 0b ca 0c 44 45 45 45 | 2a 87 22 20 5b 6d 61 6b |....DEEE|*." [mak|
|000003e0| 65 2d 73 79 6d 62 6f 6c | 20 22 6e 6f 64 65 22 20 |e-symbol| "node" |
|000003f0| 22 65 6c 65 6d 65 6e 74 | 22 20 65 6c 65 6d 65 6e |"element|" elemen|
|00000400| 74 2d 76 20 6e 6f 64 65 | 2d 76 20 6c 65 74 20 6e |t-v node|-v let n|
|00000410| 6f 64 65 20 65 6c 65 6d | 65 6e 74 20 73 65 74 63 |ode elem|ent setc|
|00000420| 64 72 20 63 6f 6e 73 20 | 63 64 72 5d 20 38 5d 29 |dr cons |cdr] 8])|
|00000430| 29 0a 23 40 37 32 20 47 | 65 74 20 74 68 65 20 65 |).#@72 G|et the e|
|00000440| 6c 65 6d 65 6e 74 20 6f | 66 20 61 20 4e 4f 44 45 |lement o|f a NODE|
|00000450| 20 69 6e 20 61 20 64 6f | 75 62 6c 79 20 6c 69 6e | in a do|ubly lin|
|00000460| 6b 65 64 20 6c 69 73 74 | 20 44 4c 4c 2e 0a 41 72 |ked list| DLL..Ar|
|00000470| 67 73 3a 20 44 4c 4c 20 | 4e 4f 44 45 2e 1f 0a 28 |gs: DLL |NODE...(|
|00000480| 64 65 66 61 6c 69 61 73 | 20 27 64 6c 6c 2d 65 6c |defalias| 'dll-el|
|00000490| 65 6d 65 6e 74 20 27 28 | 6d 61 63 72 6f 20 2e 20 |ement '(|macro . |
|000004a0| 23 5b 28 64 6c 6c 20 6e | 6f 64 65 29 20 22 c0 09 |#[(dll n|ode) "..|
|000004b0| 44 87 22 20 5b 63 61 72 | 20 6e 6f 64 65 5d 20 32 |D." [car| node] 2|
|000004c0| 20 28 23 24 20 2e 20 31 | 30 37 39 29 5d 29 29 0a | (#$ . 1|079)])).|
|000004d0| 23 40 33 37 20 43 72 65 | 61 74 65 20 61 6e 20 65 |#@37 Cre|ate an e|
|000004e0| 6d 70 74 79 20 64 6f 75 | 62 6c 79 20 6c 69 6e 6b |mpty dou|bly link|
|000004f0| 65 64 20 6c 69 73 74 2e | 1f 0a 28 64 65 66 61 6c |ed list.|..(defal|
|00000500| 69 61 73 20 27 64 6c 6c | 2d 63 72 65 61 74 65 20 |ias 'dll|-create |
|00000510| 23 5b 6e 69 6c 20 22 c0 | c1 42 87 22 20 5b 44 4c |#[nil ".|.B." [DL|
|00000520| 2d 4c 49 53 54 20 6e 69 | 6c 5d 20 32 20 28 23 24 |-LIST ni|l] 2 (#$|
|00000530| 20 2e 20 31 32 33 37 29 | 5d 29 0a 23 40 36 37 20 | . 1237)|]).#@67 |
|00000540| 52 65 74 75 72 6e 20 74 | 20 69 66 20 4f 42 4a 45 |Return t| if OBJE|
|00000550| 43 54 20 69 73 20 61 20 | 64 6f 75 62 6c 79 20 6c |CT is a |doubly l|
|00000560| 69 6e 6b 65 64 20 6c 69 | 73 74 2c 20 6f 74 68 65 |inked li|st, othe|
|00000570| 72 77 69 73 65 20 72 65 | 74 75 72 6e 20 6e 69 6c |rwise re|turn nil|
|00000580| 2e 1f 0a 28 64 65 66 61 | 6c 69 61 73 20 27 64 6c |...(defa|lias 'dl|
|00000590| 6c 2d 70 20 23 5b 28 6f | 62 6a 65 63 74 29 20 22 |l-p #[(o|bject) "|
|000005a0| 08 a2 c1 61 87 22 20 5b | 6f 62 6a 65 63 74 20 44 |...a." [|object D|
|000005b0| 4c 2d 4c 49 53 54 5d 20 | 32 20 28 23 24 20 2e 20 |L-LIST] |2 (#$ . |
|000005c0| 31 33 34 34 29 5d 29 0a | 23 40 36 36 20 41 64 64 |1344)]).|#@66 Add|
|000005d0| 20 61 6e 20 65 6c 65 6d | 65 6e 74 20 66 69 72 73 | an elem|ent firs|
|000005e0| 74 20 6f 6e 20 61 20 64 | 6f 75 62 6c 79 20 6c 69 |t on a d|oubly li|
|000005f0| 6e 6b 65 64 20 6c 69 73 | 74 2e 0a 41 72 67 73 3a |nked lis|t..Args:|
|00000600| 20 44 4c 4c 20 45 4c 45 | 4d 45 4e 54 2e 1f 0a 28 | DLL ELE|MENT...(|
|00000610| 64 65 66 61 6c 69 61 73 | 20 27 64 6c 6c 2d 65 6e |defalias| 'dll-en|
|00000620| 74 65 72 2d 66 69 72 73 | 74 20 23 5b 28 64 6c 6c |ter-firs|t #[(dll|
|00000630| 20 65 6c 65 6d 65 6e 74 | 29 20 22 08 09 08 41 42 | element|) "...AB|
|00000640| a1 87 22 20 5b 64 6c 6c | 20 65 6c 65 6d 65 6e 74 |.." [dll| element|
|00000650| 5d 20 33 20 28 23 24 20 | 2e 20 31 34 38 35 29 5d |] 3 (#$ |. 1485)]|
|00000660| 29 0a 23 40 36 35 20 41 | 64 64 20 61 6e 20 65 6c |).#@65 A|dd an el|
|00000670| 65 6d 65 6e 74 20 6c 61 | 73 74 20 6f 6e 20 61 20 |ement la|st on a |
|00000680| 64 6f 75 62 6c 79 20 6c | 69 6e 6b 65 64 20 6c 69 |doubly l|inked li|
|00000690| 73 74 2e 0a 41 72 67 73 | 3a 20 44 4c 4c 20 45 4c |st..Args|: DLL EL|
|000006a0| 45 4d 45 4e 54 2e 1f 0a | 28 64 65 66 61 6c 69 61 |EMENT...|(defalia|
|000006b0| 73 20 27 64 6c 6c 2d 65 | 6e 74 65 72 2d 6c 61 73 |s 'dll-e|nter-las|
|000006c0| 74 20 23 5b 28 64 6c 6c | 20 65 6c 65 6d 65 6e 74 |t #[(dll| element|
|000006d0| 29 20 22 c0 09 c2 5c 22 | 0b 1c 89 1d 0c 0d 41 42 |) "...\"|......AB|
|000006e0| a1 2a 87 22 20 5b 64 6c | 6c 2d 67 65 74 2d 6e 6f |.*." [dl|l-get-no|
|000006f0| 64 65 2d 62 65 66 6f 72 | 65 20 64 6c 6c 20 6e 69 |de-befor|e dll ni|
|00000700| 6c 20 65 6c 65 6d 65 6e | 74 20 65 6c 65 6d 65 6e |l elemen|t elemen|
|00000710| 74 20 6e 6f 64 65 5d 20 | 34 20 28 23 24 20 2e 20 |t node] |4 (#$ . |
|00000720| 31 36 33 39 29 5d 29 0a | 23 40 31 30 31 20 49 6e |1639)]).|#@101 In|
|00000730| 20 74 68 65 20 64 6f 75 | 62 6c 79 20 6c 69 6e 6b | the dou|bly link|
|00000740| 65 64 20 6c 69 73 74 20 | 44 4c 4c 2c 20 69 6e 73 |ed list |DLL, ins|
|00000750| 65 72 74 20 61 20 6e 6f | 64 65 20 63 6f 6e 74 61 |ert a no|de conta|
|00000760| 69 6e 69 6e 67 20 45 4c | 45 4d 45 4e 54 20 61 66 |ining EL|EMENT af|
|00000770| 74 65 72 20 4e 4f 44 45 | 2e 0a 41 72 67 73 3a 20 |ter NODE|..Args: |
|00000780| 44 4c 4c 20 4e 4f 44 45 | 20 45 4c 45 4d 45 4e 54 |DLL NODE| ELEMENT|
|00000790| 2e 1f 0a 28 64 65 66 61 | 6c 69 61 73 20 27 64 6c |...(defa|lias 'dl|
|000007a0| 6c 2d 65 6e 74 65 72 2d | 61 66 74 65 72 20 23 5b |l-enter-|after #[|
|000007b0| 28 64 6c 6c 20 6e 6f 64 | 65 20 65 6c 65 6d 65 6e |(dll nod|e elemen|
|000007c0| 74 29 20 22 c0 09 5c 6e | 5c 22 88 5c 6e 0b 1c 89 |t) "..\n|\".\n...|
|000007d0| 1d 0c 0d 41 42 a1 2a 87 | 22 20 5b 64 6c 6c 2d 67 |...AB.*.|" [dll-g|
|000007e0| 65 74 2d 6e 6f 64 65 2d | 62 65 66 6f 72 65 20 64 |et-node-|before d|
|000007f0| 6c 6c 20 6e 6f 64 65 20 | 65 6c 65 6d 65 6e 74 20 |ll node |element |
|00000800| 65 6c 65 6d 65 6e 74 20 | 6e 6f 64 65 5d 20 34 20 |element |node] 4 |
|00000810| 28 23 24 20 2e 20 31 38 | 33 38 29 5d 29 0a 23 40 |(#$ . 18|38)]).#@|
|00000820| 31 30 32 20 49 6e 20 74 | 68 65 20 64 6f 75 62 6c |102 In t|he doubl|
|00000830| 79 20 6c 69 6e 6b 65 64 | 20 6c 69 73 74 20 44 4c |y linked| list DL|
|00000840| 4c 2c 20 69 6e 73 65 72 | 74 20 61 20 6e 6f 64 65 |L, inser|t a node|
|00000850| 20 63 6f 6e 74 61 69 6e | 69 6e 67 20 45 4c 45 4d | contain|ing ELEM|
|00000860| 45 4e 54 20 62 65 66 6f | 72 65 20 4e 4f 44 45 2e |ENT befo|re NODE.|
|00000870| 0a 41 72 67 73 3a 20 44 | 4c 4c 20 4e 4f 44 45 20 |.Args: D|LL NODE |
|00000880| 45 4c 45 4d 45 4e 54 2e | 1f 0a 28 64 65 66 61 6c |ELEMENT.|..(defal|
|00000890| 69 61 73 20 27 64 6c 6c | 2d 65 6e 74 65 72 2d 62 |ias 'dll|-enter-b|
|000008a0| 65 66 6f 72 65 20 23 5b | 28 64 6c 6c 20 6e 6f 64 |efore #[|(dll nod|
|000008b0| 65 20 65 6c 65 6d 65 6e | 74 29 20 22 c0 09 5c 6e |e elemen|t) "..\n|
|000008c0| 5c 22 0b 1c 89 1d 0c 0d | 41 42 a1 2a 87 22 20 5b |\"......|AB.*." [|
|000008d0| 64 6c 6c 2d 67 65 74 2d | 6e 6f 64 65 2d 62 65 66 |dll-get-|node-bef|
|000008e0| 6f 72 65 20 64 6c 6c 20 | 6e 6f 64 65 20 65 6c 65 |ore dll |node ele|
|000008f0| 6d 65 6e 74 20 65 6c 65 | 6d 65 6e 74 20 6e 6f 64 |ment ele|ment nod|
|00000900| 65 5d 20 34 20 28 23 24 | 20 2e 20 32 30 38 34 29 |e] 4 (#$| . 2084)|
|00000910| 5d 29 0a 23 40 37 38 20 | 52 65 74 75 72 6e 20 74 |]).#@78 |Return t|
|00000920| 68 65 20 6e 6f 64 65 20 | 61 66 74 65 72 20 4e 4f |he node |after NO|
|00000930| 44 45 2c 20 6f 72 20 6e | 69 6c 20 69 66 20 4e 4f |DE, or n|il if NO|
|00000940| 44 45 20 69 73 20 74 68 | 65 20 6c 61 73 74 20 6e |DE is th|e last n|
|00000950| 6f 64 65 2e 0a 41 72 67 | 73 3a 20 44 4c 4c 20 4e |ode..Arg|s: DLL N|
|00000960| 4f 44 45 2e 1f 0a 28 64 | 65 66 61 6c 69 61 73 20 |ODE...(d|efalias |
|00000970| 27 64 6c 6c 2d 6e 65 78 | 74 20 23 5b 28 64 6c 6c |'dll-nex|t #[(dll|
|00000980| 20 6e 6f 64 65 29 20 22 | c0 09 5c 6e 5c 22 88 5c | node) "|..\n\".\|
|00000990| 6e 41 87 22 20 5b 64 6c | 6c 2d 67 65 74 2d 6e 6f |nA." [dl|l-get-no|
|000009a0| 64 65 2d 62 65 66 6f 72 | 65 20 64 6c 6c 20 6e 6f |de-befor|e dll no|
|000009b0| 64 65 5d 20 33 20 28 23 | 24 20 2e 20 32 33 32 38 |de] 3 (#|$ . 2328|
|000009c0| 29 5d 29 0a 23 40 38 30 | 20 52 65 74 75 72 6e 20 |)]).#@80| Return |
|000009d0| 74 68 65 20 6e 6f 64 65 | 20 62 65 66 6f 72 65 20 |the node| before |
|000009e0| 4e 4f 44 45 2c 20 6f 72 | 20 6e 69 6c 20 69 66 20 |NODE, or| nil if |
|000009f0| 4e 4f 44 45 20 69 73 20 | 74 68 65 20 66 69 72 73 |NODE is |the firs|
|00000a00| 74 20 6e 6f 64 65 2e 0a | 41 72 67 73 3a 20 44 4c |t node..|Args: DL|
|00000a10| 4c 20 4e 4f 44 45 2e 1f | 0a 28 64 65 66 61 6c 69 |L NODE..|.(defali|
|00000a20| 61 73 20 27 64 6c 6c 2d | 70 72 65 76 69 6f 75 73 |as 'dll-|previous|
|00000a30| 20 23 5b 28 64 6c 6c 20 | 6e 6f 64 65 29 20 22 c0 | #[(dll |node) ".|
|00000a40| 09 5c 6e 5c 22 1b 09 0b | 61 3f ad 81 0b 29 87 22 |.\n\"...|a?...)."|
|00000a50| 20 5b 64 6c 6c 2d 67 65 | 74 2d 6e 6f 64 65 2d 62 | [dll-ge|t-node-b|
|00000a60| 65 66 6f 72 65 20 64 6c | 6c 20 6e 6f 64 65 20 70 |efore dl|l node p|
|00000a70| 72 65 76 5d 20 33 20 28 | 23 24 20 2e 20 32 35 30 |rev] 3 (|#$ . 250|
|00000a80| 35 29 5d 29 0a 23 40 39 | 30 20 44 65 6c 65 74 65 |5)]).#@9|0 Delete|
|00000a90| 20 4e 4f 44 45 20 66 72 | 6f 6d 20 74 68 65 20 64 | NODE fr|om the d|
|00000aa0| 6f 75 62 6c 79 20 6c 69 | 6e 6b 65 64 20 6c 69 73 |oubly li|nked lis|
|00000ab0| 74 20 44 4c 4c 2e 0a 41 | 72 67 73 3a 20 44 4c 4c |t DLL..A|rgs: DLL|
|00000ac0| 20 4e 4f 44 45 2e 20 52 | 65 74 75 72 6e 20 74 68 | NODE. R|eturn th|
|00000ad0| 65 20 65 6c 65 6d 65 6e | 74 20 6f 66 20 6e 6f 64 |e elemen|t of nod|
|00000ae0| 65 2e 1f 0a 28 64 65 66 | 61 6c 69 61 73 20 27 64 |e...(def|alias 'd|
|00000af0| 6c 6c 2d 64 65 6c 65 74 | 65 20 23 5b 28 64 6c 6c |ll-delet|e #[(dll|
|00000b00| 20 6e 6f 64 65 29 20 22 | c0 09 5c 6e 5c 22 5c 6e | node) "|..\n\"\n|
|00000b10| 41 a1 88 5c 6e 40 87 22 | 20 5b 64 6c 6c 2d 67 65 |A..\n@."| [dll-ge|
|00000b20| 74 2d 6e 6f 64 65 2d 62 | 65 66 6f 72 65 20 64 6c |t-node-b|efore dl|
|00000b30| 6c 20 6e 6f 64 65 5d 20 | 33 20 28 23 24 20 2e 20 |l node] |3 (#$ . |
|00000b40| 32 36 39 38 29 5d 29 0a | 23 40 31 32 31 20 44 65 |2698)]).|#@121 De|
|00000b50| 6c 65 74 65 20 74 68 65 | 20 66 69 72 73 74 20 4e |lete the| first N|
|00000b60| 4f 44 45 20 66 72 6f 6d | 20 74 68 65 20 64 6f 75 |ODE from| the dou|
|00000b70| 62 6c 79 20 6c 69 6e 6b | 65 64 20 6c 69 73 74 20 |bly link|ed list |
|00000b80| 44 4c 4c 2e 0a 52 65 74 | 75 72 6e 20 74 68 65 20 |DLL..Ret|urn the |
|00000b90| 65 6c 65 6d 65 6e 74 2e | 20 41 72 67 73 3a 20 44 |element.| Args: D|
|00000ba0| 4c 4c 2e 20 52 65 74 75 | 72 6e 73 20 6e 69 6c 20 |LL. Retu|rns nil |
|00000bb0| 69 66 20 74 68 65 20 44 | 4c 4c 20 77 61 73 20 65 |if the D|LL was e|
|00000bc0| 6d 70 74 79 2e 1f 0a 28 | 64 65 66 61 6c 69 61 73 |mpty...(|defalias|
|00000bd0| 20 27 64 6c 6c 2d 64 65 | 6c 65 74 65 2d 66 69 72 | 'dll-de|lete-fir|
|00000be0| 73 74 20 23 5b 28 64 6c | 6c 29 20 22 08 41 40 08 |st #[(dl|l) ".A@.|
|00000bf0| 89 41 41 a1 88 87 22 20 | 5b 64 6c 6c 5d 20 33 20 |.AA..." |[dll] 3 |
|00000c00| 28 23 24 20 2e 20 32 38 | 39 34 29 5d 29 0a 23 40 |(#$ . 28|94)]).#@|
|00000c10| 31 32 30 20 44 65 6c 65 | 74 65 20 74 68 65 20 6c |120 Dele|te the l|
|00000c20| 61 73 74 20 4e 4f 44 45 | 20 66 72 6f 6d 20 74 68 |ast NODE| from th|
|00000c30| 65 20 64 6f 75 62 6c 79 | 20 6c 69 6e 6b 65 64 20 |e doubly| linked |
|00000c40| 6c 69 73 74 20 44 4c 4c | 2e 0a 52 65 74 75 72 6e |list DLL|..Return|
|00000c50| 20 74 68 65 20 65 6c 65 | 6d 65 6e 74 2e 20 41 72 | the ele|ment. Ar|
|00000c60| 67 73 3a 20 44 4c 4c 2e | 20 52 65 74 75 72 6e 73 |gs: DLL.| Returns|
|00000c70| 20 6e 69 6c 20 69 66 20 | 74 68 65 20 44 4c 4c 20 | nil if |the DLL |
|00000c80| 77 61 73 20 65 6d 70 74 | 79 2e 1f 0a 28 64 65 66 |was empt|y...(def|
|00000c90| 61 6c 69 61 73 20 27 64 | 6c 6c 2d 64 65 6c 65 74 |alias 'd|ll-delet|
|00000ca0| 65 2d 6c 61 73 74 20 23 | 5b 28 64 6c 6c 29 20 22 |e-last #|[(dll) "|
|00000cb0| c0 09 c2 5c 22 1b c0 09 | 0b 5c 22 1c 0b 09 61 3f |...\"...|.\"...a?|
|00000cc0| ad 86 0c c2 a1 88 0b 40 | 2a 87 22 20 5b 64 6c 6c |.......@|*." [dll|
|00000cd0| 2d 67 65 74 2d 6e 6f 64 | 65 2d 62 65 66 6f 72 65 |-get-nod|e-before|
|00000ce0| 20 64 6c 6c 20 6e 69 6c | 20 6c 61 73 74 20 73 65 | dll nil| last se|
|00000cf0| 6d 69 6c 61 73 74 5d 20 | 33 20 28 23 24 20 2e 20 |milast] |3 (#$ . |
|00000d00| 33 30 39 32 29 5d 29 0a | 23 40 31 31 38 20 52 65 |3092)]).|#@118 Re|
|00000d10| 74 75 72 6e 20 74 68 65 | 20 66 69 72 73 74 20 65 |turn the| first e|
|00000d20| 6c 65 6d 65 6e 74 20 6f | 6e 20 74 68 65 20 64 6f |lement o|n the do|
|00000d30| 75 62 6c 79 20 6c 69 6e | 6b 65 64 20 6c 69 73 74 |ubly lin|ked list|
|00000d40| 20 44 4c 4c 2e 0a 52 65 | 74 75 72 6e 20 6e 69 6c | DLL..Re|turn nil|
|00000d50| 20 69 66 20 74 68 65 20 | 6c 69 73 74 20 69 73 20 | if the |list is |
|00000d60| 65 6d 70 74 79 2e 20 54 | 68 65 20 65 6c 65 6d 65 |empty. T|he eleme|
|00000d70| 6e 74 20 69 73 20 6e 6f | 74 20 72 65 6d 6f 76 65 |nt is no|t remove|
|00000d80| 64 2e 1f 0a 28 64 65 66 | 61 6c 69 61 73 20 27 64 |d...(def|alias 'd|
|00000d90| 6c 6c 2d 66 69 72 73 74 | 20 23 5b 28 64 6c 6c 29 |ll-first| #[(dll)|
|00000da0| 20 22 08 41 40 87 22 20 | 5b 64 6c 6c 5d 20 31 20 | ".A@." |[dll] 1 |
|00000db0| 28 23 24 20 2e 20 33 33 | 34 32 29 5d 29 0a 23 40 |(#$ . 33|42)]).#@|
|00000dc0| 31 31 37 20 52 65 74 75 | 72 6e 20 74 68 65 20 6c |117 Retu|rn the l|
|00000dd0| 61 73 74 20 65 6c 65 6d | 65 6e 74 20 6f 6e 20 74 |ast elem|ent on t|
|00000de0| 68 65 20 64 6f 75 62 6c | 79 20 6c 69 6e 6b 65 64 |he doubl|y linked|
|00000df0| 20 6c 69 73 74 20 44 4c | 4c 2e 0a 52 65 74 75 72 | list DL|L..Retur|
|00000e00| 6e 20 6e 69 6c 20 69 66 | 20 74 68 65 20 6c 69 73 |n nil if| the lis|
|00000e10| 74 20 69 73 20 65 6d 70 | 74 79 2e 20 54 68 65 20 |t is emp|ty. The |
|00000e20| 65 6c 65 6d 65 6e 74 20 | 69 73 20 6e 6f 74 20 72 |element |is not r|
|00000e30| 65 6d 6f 76 65 64 2e 1f | 0a 28 64 65 66 61 6c 69 |emoved..|.(defali|
|00000e40| 61 73 20 27 64 6c 6c 2d | 6c 61 73 74 20 23 5b 28 |as 'dll-|last #[(|
|00000e50| 64 6c 6c 29 20 22 c0 09 | c2 5c 22 89 1b 09 61 3f |dll) "..|.\"...a?|
|00000e60| ad 82 0b 40 29 87 22 20 | 5b 64 6c 6c 2d 67 65 74 |...@)." |[dll-get|
|00000e70| 2d 6e 6f 64 65 2d 62 65 | 66 6f 72 65 20 64 6c 6c |-node-be|fore dll|
|00000e80| 20 6e 69 6c 20 6c 61 73 | 74 5d 20 34 20 28 23 24 | nil las|t] 4 (#$|
|00000e90| 20 2e 20 33 35 32 34 29 | 5d 29 0a 23 40 32 37 31 | . 3524)|]).#@271|
|00000ea0| 20 52 65 74 75 72 6e 20 | 74 68 65 20 4e 74 68 20 | Return |the Nth |
|00000eb0| 6e 6f 64 65 20 66 72 6f | 6d 20 74 68 65 20 64 6f |node fro|m the do|
|00000ec0| 75 62 6c 79 20 6c 69 6e | 6b 65 64 20 6c 69 73 74 |ubly lin|ked list|
|00000ed0| 20 44 4c 4c 2e 0a 20 41 | 72 67 73 3a 20 44 4c 4c | DLL.. A|rgs: DLL|
|00000ee0| 20 4e 0a 4e 20 63 6f 75 | 6e 74 73 20 66 72 6f 6d | N.N cou|nts from|
|00000ef0| 20 7a 65 72 6f 2e 20 49 | 66 20 44 4c 4c 20 69 73 | zero. I|f DLL is|
|00000f00| 20 6e 6f 74 20 74 68 61 | 74 20 6c 6f 6e 67 2c 20 | not tha|t long, |
|00000f10| 6e 69 6c 20 69 73 20 72 | 65 74 75 72 6e 65 64 2e |nil is r|eturned.|
|00000f20| 0a 49 66 20 4e 20 69 73 | 20 6e 65 67 61 74 69 76 |.If N is| negativ|
|00000f30| 65 2c 20 72 65 74 75 72 | 6e 20 74 68 65 20 2d 28 |e, retur|n the -(|
|00000f40| 4e 2b 31 29 74 68 20 6c | 61 73 74 20 65 6c 65 6d |N+1)th l|ast elem|
|00000f50| 65 6e 74 2e 0a 54 68 75 | 73 2c 20 28 64 6c 6c 2d |ent..Thu|s, (dll-|
|00000f60| 6e 74 68 20 64 6c 6c 20 | 30 29 20 72 65 74 75 72 |nth dll |0) retur|
|00000f70| 6e 73 20 74 68 65 20 66 | 69 72 73 74 20 6e 6f 64 |ns the f|irst nod|
|00000f80| 65 2c 0a 61 6e 64 20 28 | 64 6c 6c 2d 6e 74 68 20 |e,.and (|dll-nth |
|00000f90| 64 6c 6c 20 2d 31 29 20 | 72 65 74 75 72 6e 73 20 |dll -1) |returns |
|00000fa0| 74 68 65 20 6c 61 73 74 | 20 6e 6f 64 65 2e 1f 0a |the last| node...|
|00000fb0| 28 64 65 66 61 6c 69 61 | 73 20 27 64 6c 6c 2d 6e |(defalia|s 'dll-n|
|00000fc0| 74 68 20 23 5b 28 64 6c | 6c 20 6e 29 20 22 08 c1 |th #[(dl|l n) "..|
|00000fd0| 59 ab 85 08 5c 6e 41 9b | 87 c3 8e 5c 6e 89 41 9f |Y...\nA.|...\n.A.|
|00000fe0| a1 88 08 5b 5c 6e 9b 29 | 87 22 20 5b 6e 20 30 20 |...[\n.)|." [n 0 |
|00000ff0| 64 6c 6c 20 28 28 62 79 | 74 65 2d 63 6f 64 65 20 |dll ((by|te-code |
|00001000| 22 08 89 41 9f a1 87 22 | 20 5b 64 6c 6c 5d 20 32 |"..A..."| [dll] 2|
|00001010| 29 29 5d 20 32 20 28 23 | 24 20 2e 20 33 37 34 35 |))] 2 (#|$ . 3745|
|00001020| 29 5d 29 0a 23 40 36 34 | 20 52 65 74 75 72 6e 20 |)]).#@64| Return |
|00001030| 74 20 69 66 20 74 68 65 | 20 64 6f 75 62 6c 79 20 |t if the| doubly |
|00001040| 6c 69 6e 6b 65 64 20 6c | 69 73 74 20 44 4c 4c 20 |linked l|ist DLL |
|00001050| 69 73 20 65 6d 70 74 79 | 2c 20 6e 69 6c 20 6f 74 |is empty|, nil ot|
|00001060| 68 65 72 77 69 73 65 1f | 0a 28 64 65 66 61 6c 69 |herwise.|.(defali|
|00001070| 61 73 20 27 64 6c 6c 2d | 65 6d 70 74 79 20 23 5b |as 'dll-|empty #[|
|00001080| 28 64 6c 6c 29 20 22 08 | 41 3f 87 22 20 5b 64 6c |(dll) ".|A?." [dl|
|00001090| 6c 5d 20 31 20 28 23 24 | 20 2e 20 34 31 33 37 29 |l] 1 (#$| . 4137)|
|000010a0| 5d 29 0a 23 40 36 33 20 | 52 65 74 75 72 6e 73 20 |]).#@63 |Returns |
|000010b0| 74 68 65 20 6e 75 6d 62 | 65 72 20 6f 66 20 65 6c |the numb|er of el|
|000010c0| 65 6d 65 6e 74 73 20 69 | 6e 20 74 68 65 20 64 6f |ements i|n the do|
|000010d0| 75 62 6c 79 20 6c 69 6e | 6b 65 64 20 6c 69 73 74 |ubly lin|ked list|
|000010e0| 20 44 4c 4c 2e 1f 0a 28 | 64 65 66 61 6c 69 61 73 | DLL...(|defalias|
|000010f0| 20 27 64 6c 6c 2d 6c 65 | 6e 67 74 68 20 23 5b 28 | 'dll-le|ngth #[(|
|00001100| 64 6c 6c 29 20 22 08 41 | 47 87 22 20 5b 64 6c 6c |dll) ".A|G." [dll|
|00001110| 5d 20 31 20 28 23 24 20 | 2e 20 34 32 36 34 29 5d |] 1 (#$ |. 4264)]|
|00001120| 29 0a 23 40 32 35 31 20 | 52 65 74 75 72 6e 20 61 |).#@251 |Return a|
|00001130| 20 63 6f 70 79 20 6f 66 | 20 74 68 65 20 64 6f 75 | copy of| the dou|
|00001140| 62 6c 79 20 6c 69 6e 6b | 65 64 20 6c 69 73 74 20 |bly link|ed list |
|00001150| 44 4c 4c 2e 0a 49 66 20 | 6f 70 74 69 6f 6e 61 6c |DLL..If |optional|
|00001160| 20 73 65 63 6f 6e 64 20 | 61 72 67 75 6d 65 6e 74 | second |argument|
|00001170| 20 45 4c 45 4d 45 4e 54 | 2d 43 4f 50 59 2d 46 4e | ELEMENT|-COPY-FN|
|00001180| 43 20 69 73 20 6e 6f 6e | 2d 6e 69 6c 20 69 74 20 |C is non|-nil it |
|00001190| 73 68 6f 75 6c 64 20 62 | 65 0a 61 20 66 75 6e 63 |should b|e.a func|
|000011a0| 74 69 6f 6e 20 74 68 61 | 74 20 74 61 6b 65 73 20 |tion tha|t takes |
|000011b0| 6f 6e 65 20 61 72 67 75 | 6d 65 6e 74 2c 20 61 6e |one argu|ment, an|
|000011c0| 20 65 6c 65 6d 65 6e 74 | 2c 20 61 6e 64 20 72 65 | element|, and re|
|000011d0| 74 75 72 6e 73 20 61 20 | 63 6f 70 79 20 6f 66 20 |turns a |copy of |
|000011e0| 69 74 2e 0a 49 66 20 45 | 4c 45 4d 45 4e 54 2d 43 |it..If E|LEMENT-C|
|000011f0| 4f 50 59 2d 46 4e 43 20 | 69 73 20 6e 6f 74 20 67 |OPY-FNC |is not g|
|00001200| 69 76 65 6e 20 74 68 65 | 20 65 6c 65 6d 65 6e 74 |iven the| element|
|00001210| 73 20 61 72 65 20 6e 6f | 74 20 63 6f 70 69 65 64 |s are no|t copied|
|00001220| 2e 1f 0a 28 64 65 66 61 | 6c 69 61 73 20 27 64 6c |...(defa|lias 'dl|
|00001230| 6c 2d 63 6f 70 79 20 23 | 5b 28 64 6c 6c 20 26 6f |l-copy #|[(dll &o|
|00001240| 70 74 69 6f 6e 61 6c 20 | 65 6c 65 6d 65 6e 74 2d |ptional |element-|
|00001250| 63 6f 70 79 2d 66 6e 63 | 29 20 22 08 ab 88 c1 c2 |copy-fnc|) ".....|
|00001260| 08 0b 41 5c 22 42 87 c4 | 0b 21 87 22 20 5b 65 6c |..A\"B..|.!." [el|
|00001270| 65 6d 65 6e 74 2d 63 6f | 70 79 2d 66 6e 63 20 44 |ement-co|py-fnc D|
|00001280| 4c 2d 4c 49 53 54 20 6d | 61 70 63 61 72 20 64 6c |L-LIST m|apcar dl|
|00001290| 6c 20 63 6f 70 79 2d 73 | 65 71 75 65 6e 63 65 5d |l copy-s|equence]|
|000012a0| 20 34 20 28 23 24 20 2e | 20 34 33 39 32 29 5d 29 | 4 (#$ .| 4392)])|
|000012b0| 0a 23 40 37 32 20 52 65 | 74 75 72 6e 20 61 6c 6c |.#@72 Re|turn all|
|000012c0| 20 65 6c 65 6d 65 6e 74 | 73 20 6f 6e 20 74 68 65 | element|s on the|
|000012d0| 20 64 6f 75 62 6c 65 20 | 6c 69 6e 6b 65 64 20 6c | double |linked l|
|000012e0| 69 73 74 20 44 4c 4c 20 | 61 73 20 61 6e 20 6f 72 |ist DLL |as an or|
|000012f0| 64 69 6e 61 72 79 20 6c | 69 73 74 2e 1f 0a 28 64 |dinary l|ist...(d|
|00001300| 65 66 61 6c 69 61 73 20 | 27 64 6c 6c 2d 61 6c 6c |efalias |'dll-all|
|00001310| 20 23 5b 28 64 6c 6c 29 | 20 22 08 41 87 22 20 5b | #[(dll)| ".A." [|
|00001320| 64 6c 6c 5d 20 31 20 28 | 23 24 20 2e 20 34 37 39 |dll] 1 (|#$ . 479|
|00001330| 30 29 5d 29 0a 23 40 36 | 36 20 43 6c 65 61 72 20 |0)]).#@6|6 Clear |
|00001340| 74 68 65 20 64 6f 75 62 | 6c 79 20 6c 69 6e 6b 65 |the doub|ly linke|
|00001350| 64 20 6c 69 73 74 20 44 | 4c 4c 2c 20 69 2e 65 2e |d list D|LL, i.e.|
|00001360| 20 6d 61 6b 65 20 69 74 | 20 63 6f 6d 70 6c 65 74 | make it| complet|
|00001370| 65 6c 79 20 65 6d 70 74 | 79 2e 1f 0a 28 64 65 66 |ely empt|y...(def|
|00001380| 61 6c 69 61 73 20 27 64 | 6c 6c 2d 63 6c 65 61 72 |alias 'd|ll-clear|
|00001390| 20 23 5b 28 64 6c 6c 29 | 20 22 08 c1 a1 87 22 20 | #[(dll)| "...." |
|000013a0| 5b 64 6c 6c 20 6e 69 6c | 5d 20 32 20 28 23 24 20 |[dll nil|] 2 (#$ |
|000013b0| 2e 20 34 39 32 32 29 5d | 29 0a 23 40 31 31 39 20 |. 4922)]|).#@119 |
|000013c0| 41 70 70 6c 79 20 4d 41 | 50 2d 46 55 4e 43 54 49 |Apply MA|P-FUNCTI|
|000013d0| 4f 4e 20 74 6f 20 61 6c | 6c 20 65 6c 65 6d 65 6e |ON to al|l elemen|
|000013e0| 74 73 20 69 6e 20 74 68 | 65 20 64 6f 75 62 6c 79 |ts in th|e doubly|
|000013f0| 20 6c 69 6e 6b 65 64 20 | 6c 69 73 74 20 44 4c 4c | linked |list DLL|
|00001400| 2e 0a 54 68 65 20 66 75 | 6e 63 74 69 6f 6e 20 69 |..The fu|nction i|
|00001410| 73 20 61 70 70 6c 69 65 | 64 20 74 6f 20 74 68 65 |s applie|d to the|
|00001420| 20 66 69 72 73 74 20 65 | 6c 65 6d 65 6e 74 20 66 | first e|lement f|
|00001430| 69 72 73 74 2e 1f 0a 28 | 64 65 66 61 6c 69 61 73 |irst...(|defalias|
|00001440| 20 27 64 6c 6c 2d 6d 61 | 70 20 23 5b 28 6d 61 70 | 'dll-ma|p #[(map|
|00001450| 2d 66 75 6e 63 74 69 6f | 6e 20 64 6c 6c 29 20 22 |-functio|n dll) "|
|00001460| c0 09 5c 6e 41 5c 22 87 | 22 20 5b 6d 61 70 63 61 |..\nA\".|" [mapca|
|00001470| 72 20 6d 61 70 2d 66 75 | 6e 63 74 69 6f 6e 20 64 |r map-fu|nction d|
|00001480| 6c 6c 5d 20 33 20 28 23 | 24 20 2e 20 35 30 35 36 |ll] 3 (#|$ . 5056|
|00001490| 29 5d 29 0a 23 40 31 31 | 38 20 41 70 70 6c 79 20 |)]).#@11|8 Apply |
|000014a0| 4d 41 50 2d 46 55 4e 43 | 54 49 4f 4e 20 74 6f 20 |MAP-FUNC|TION to |
|000014b0| 61 6c 6c 20 65 6c 65 6d | 65 6e 74 73 20 69 6e 20 |all elem|ents in |
|000014c0| 74 68 65 20 64 6f 75 62 | 6c 79 20 6c 69 6e 6b 65 |the doub|ly linke|
|000014d0| 64 20 6c 69 73 74 20 44 | 4c 4c 2e 0a 54 68 65 20 |d list D|LL..The |
|000014e0| 66 75 6e 63 74 69 6f 6e | 20 69 73 20 61 70 70 6c |function| is appl|
|000014f0| 69 65 64 20 74 6f 20 74 | 68 65 20 6c 61 73 74 20 |ied to t|he last |
|00001500| 65 6c 65 6d 65 6e 74 20 | 66 69 72 73 74 2e 1f 0a |element |first...|
|00001510| 28 64 65 66 61 6c 69 61 | 73 20 27 64 6c 6c 2d 6d |(defalia|s 'dll-m|
|00001520| 61 70 2d 72 65 76 65 72 | 73 65 20 23 5b 28 6d 61 |ap-rever|se #[(ma|
|00001530| 70 2d 66 75 6e 63 74 69 | 6f 6e 20 64 6c 6c 29 20 |p-functi|on dll) |
|00001540| 22 c0 8e 09 89 41 9f a1 | 29 87 22 20 5b 28 28 62 |"....A..|)." [((b|
|00001550| 79 74 65 2d 63 6f 64 65 | 20 22 c0 09 5c 6e 41 5c |yte-code| "..\nA\|
|00001560| 22 88 5c 6e 89 41 9f a1 | 87 22 20 5b 6d 61 70 63 |".\n.A..|." [mapc|
|00001570| 61 72 20 6d 61 70 2d 66 | 75 6e 63 74 69 6f 6e 20 |ar map-f|unction |
|00001580| 64 6c 6c 5d 20 33 29 29 | 20 64 6c 6c 5d 20 32 20 |dll] 3))| dll] 2 |
|00001590| 28 23 24 20 2e 20 35 32 | 37 34 29 5d 29 0a 23 40 |(#$ . 52|74)]).#@|
|000015a0| 37 33 20 47 69 76 65 6e | 20 61 6e 20 65 6c 69 73 |73 Given| an elis|
|000015b0| 70 20 4c 49 53 54 20 63 | 72 65 61 74 65 20 61 20 |p LIST c|reate a |
|000015c0| 64 6f 75 62 6c 79 20 6c | 69 6e 6b 65 64 20 6c 69 |doubly l|inked li|
|000015d0| 73 74 20 77 69 74 68 20 | 74 68 65 20 73 61 6d 65 |st with |the same|
|000015e0| 20 65 6c 65 6d 65 6e 74 | 73 2e 1f 0a 28 64 65 66 | element|s...(def|
|000015f0| 61 6c 69 61 73 20 27 64 | 6c 6c 2d 63 72 65 61 74 |alias 'd|ll-creat|
|00001600| 65 2d 66 72 6f 6d 2d 6c | 69 73 74 20 23 5b 28 6c |e-from-l|ist #[(l|
|00001610| 69 73 74 29 20 22 c0 09 | 42 87 22 20 5b 44 4c 2d |ist) "..|B." [DL-|
|00001620| 4c 49 53 54 20 6c 69 73 | 74 5d 20 32 20 28 23 24 |LIST lis|t] 2 (#$|
|00001630| 20 2e 20 35 35 33 39 29 | 5d 29 0a 23 40 32 35 30 | . 5539)|]).#@250|
|00001640| 20 53 6f 72 74 20 74 68 | 65 20 64 6f 75 62 6c 79 | Sort th|e doubly|
|00001650| 20 6c 69 6e 6b 65 64 20 | 6c 69 73 74 20 44 4c 4c | linked |list DLL|
|00001660| 2c 20 73 74 61 62 6c 79 | 2c 20 63 6f 6d 70 61 72 |, stably|, compar|
|00001670| 69 6e 67 20 65 6c 65 6d | 65 6e 74 73 20 75 73 69 |ing elem|ents usi|
|00001680| 6e 67 20 50 52 45 44 49 | 43 41 54 45 2e 0a 52 65 |ng PREDI|CATE..Re|
|00001690| 74 75 72 6e 73 20 74 68 | 65 20 73 6f 72 74 65 64 |turns th|e sorted|
|000016a0| 20 6c 69 73 74 2e 20 44 | 4c 4c 20 69 73 20 6d 6f | list. D|LL is mo|
|000016b0| 64 69 66 69 65 64 20 62 | 79 20 73 69 64 65 20 65 |dified b|y side e|
|000016c0| 66 66 65 63 74 73 2e 0a | 50 52 45 44 49 43 41 54 |ffects..|PREDICAT|
|000016d0| 45 20 69 73 20 63 61 6c | 6c 65 64 20 77 69 74 68 |E is cal|led with|
|000016e0| 20 74 77 6f 20 65 6c 65 | 6d 65 6e 74 73 20 6f 66 | two ele|ments of|
|000016f0| 20 44 4c 4c 2c 20 61 6e | 64 20 73 68 6f 75 6c 64 | DLL, an|d should|
|00001700| 20 72 65 74 75 72 6e 20 | 54 0a 69 66 20 74 68 65 | return |T.if the|
|00001710| 20 66 69 72 73 74 20 65 | 6c 65 6d 65 6e 74 20 69 | first e|lement i|
|00001720| 73 20 22 6c 65 73 73 22 | 20 74 68 61 6e 20 74 68 |s "less"| than th|
|00001730| 65 20 73 65 63 6f 6e 64 | 2e 1f 0a 28 64 65 66 61 |e second|...(defa|
|00001740| 6c 69 61 73 20 27 64 6c | 6c 2d 73 6f 72 74 20 23 |lias 'dl|l-sort #|
|00001750| 5b 28 64 6c 6c 20 70 72 | 65 64 69 63 61 74 65 29 |[(dll pr|edicate)|
|00001760| 20 22 08 c1 08 41 5c 6e | 5c 22 a1 88 08 87 22 20 | "...A\n|\"...." |
|00001770| 5b 64 6c 6c 20 73 6f 72 | 74 20 70 72 65 64 69 63 |[dll sor|t predic|
|00001780| 61 74 65 5d 20 34 20 28 | 23 24 20 2e 20 35 36 39 |ate] 4 (|#$ . 569|
|00001790| 37 29 5d 29 0a 23 40 38 | 33 20 52 65 6d 6f 76 65 |7)]).#@8|3 Remove|
|000017a0| 20 61 6c 6c 20 65 6c 65 | 6d 65 6e 74 73 20 69 6e | all ele|ments in|
|000017b0| 20 74 68 65 20 64 6f 75 | 62 6c 79 20 6c 69 6e 6b | the dou|bly link|
|000017c0| 65 64 20 6c 69 73 74 20 | 44 4c 4c 20 66 6f 72 20 |ed list |DLL for |
|000017d0| 77 68 69 63 68 20 50 52 | 45 44 49 43 41 54 45 0a |which PR|EDICATE.|
|000017e0| 72 65 74 75 72 6e 20 6e | 69 6c 2e 1f 0a 28 64 65 |return n|il...(de|
|000017f0| 66 61 6c 69 61 73 20 27 | 64 6c 6c 2d 66 69 6c 74 |falias '|dll-filt|
|00001800| 65 72 20 23 5b 28 64 6c | 6c 20 70 72 65 64 69 63 |er #[(dl|l predic|
|00001810| 61 74 65 29 20 22 08 19 | 08 41 89 1a ad 96 0b 5c |ate) "..|.A.....\|
|00001820| 6e 40 21 ab 84 5c 6e 11 | aa 85 09 5c 6e 41 a1 88 |n@!..\n.|...\nA..|
|00001830| 5c 6e 41 89 12 ac 6b c4 | 2a 87 22 20 5b 64 6c 6c |\nA...k.|*." [dll|
|00001840| 20 70 72 65 76 20 6e 6f | 64 65 20 70 72 65 64 69 | prev no|de predi|
|00001850| 63 61 74 65 20 6e 69 6c | 5d 20 33 20 28 23 24 20 |cate nil|] 3 (#$ |
|00001860| 2e 20 36 30 34 32 29 5d | 29 0a |. 6042)]|). |
+--------+-------------------------+-------------------------+--------+--------+